package fib

// 闭包应用-斐波那契数列
// 1, 1, 2, 3, 5, 8, 13, ...
func Fibonacci() func() int {
	a, b := 0, 1
	return func() int {
		a, b = b, a+b
		return a
	}
}

// func Fibonacci() func() int {
// 	a, b := 0, 1
// 	return func() int {
// 		a, b = a+b, a
// 		return a
// 	}
// }

// func main() {
// 	f := Fibonacci()
// 	f()//1
// 	f()//1
// 	f()//2
// 	f()//3
// 	f()//5   下一个为前两个的和
// 	.
// 	.
// 	.
// }
